package rpg.cenario;

import java.util.ArrayList;


/**
 *
 * @author Gean 121151418
 */
public class Cenario {

    private ArrayList<Lugar> listaDeLugares;               // Lista de lugares que compoem o cenário
    private Lugar comeco;
    
    /* Método construtor já criando os lugares que o compoem
     * juntamente com algumas caracteristicas dos mesmos e seus aces
     * sos, e por fim lhes agrupando em um ArrayList
     */
    public Cenario() {
      
        
        Lugar inicio = new Lugar("Deserto", "Descrição: quente, devastado que possuí tempestades de areia...");
        comeco = inicio;
        
        Lugar lugar2 = new Lugar("Passagem Norte", "Descrição: quente, que possui perigos...");
        Lugar lugar3 = new Lugar("Floresta", "Descrição: misterioso, que possui perigos");
        Lugar lugar4 = new Lugar("Campo", "Descrição:  nele já foi visto grandes batalhas");
        Lugar lugar5 = new Lugar("Charco", "Descrição: possui grandes cachoeiras e fortes correntesas");
        Lugar lugar6 = new Lugar("Castelo", "Descrição: possui vários tesouros");
        Lugar lugar7 = new Lugar("Rio Norte", "Descrição: possui grandes correntesas");
        Lugar lugar8 = new Lugar("Passagem Sul", "Descrição: lugar escuro e não habitado por ninguém até que eu saiba...");
        Lugar fim = new Lugar("Caverna Escura", "FIM");
       
        inicio.defineAcessos(null, lugar2, lugar4, null);
        lugar2.defineAcessos(null, lugar3, lugar5, inicio);
        lugar3.defineAcessos(null, null, lugar6, lugar2);
        lugar4.defineAcessos(inicio, lugar5, lugar7, null);
        lugar5.defineAcessos(lugar2, lugar6, lugar8, lugar4);
        lugar6.defineAcessos(lugar3, null, fim, lugar5);
        lugar7.defineAcessos(lugar4, lugar8, null, null);
        lugar8.defineAcessos(lugar5, fim, null, lugar7);
        fim.defineAcessos(lugar6, null, null, lugar8);

        this.listaDeLugares = new ArrayList<>();

        this.listaDeLugares.add(inicio);
        this.listaDeLugares.add(lugar2);
        this.listaDeLugares.add(lugar3);
        this.listaDeLugares.add(lugar4);
        this.listaDeLugares.add(lugar5);
        this.listaDeLugares.add(lugar6);
        this.listaDeLugares.add(lugar7);
        this.listaDeLugares.add(lugar8);
        this.listaDeLugares.add(fim);
    }
     
    
    public ArrayList<Lugar> getListaDeLugares() {
        return listaDeLugares;
    }

    public Lugar getComeco() {
        return comeco;
    }
}
